package fileapi

import (
	"fmt"
	"iot-base/common/webapi"
	"os"
	"path/filepath"
	"strings"

	"github.com/gin-gonic/gin"
)

func initUploadAPI(r *gin.RouterGroup) {
	fr := r.Group("/upload")
	fr.POST("/", func(ctx *gin.Context) {
		result := make([]string, 0, 1)
		if form, err := ctx.MultipartForm(); err == nil {
			//1.获取文件
			files := form.File["file"]
			//2.循环全部的文件
			for _, file := range files {
				// 3.根据时间鹾生成文件名
				/*fileNameInt := time.Now().Unix()
				fileNameStr := strconv.FormatInt(fileNameInt, 10)
				//4.新的文件名(如果是同时上传多张图片的时候就会同名，因此这里使用时间鹾加文件名方式)
				fileName := fileNameStr + file.Filename*/
				//5.保存上传文件
				dir, _ := filepath.Abs(filepath.Dir(os.Args[0]))
				dir = strings.Replace(dir, "/bin", "", -1)
				dir = strings.Replace(dir, "\\bin", "", -1)
				dir = dir + "/upload/"
				os.MkdirAll(dir, os.ModePerm)
				filePath := dir + file.Filename
				fmt.Println("file----------save", filePath)
				ctx.SaveUploadedFile(file, filePath)
				result = append(result, filePath)
			}
			webapi.SendResult(result, nil, ctx)
		} else {
			webapi.SendError("file not found", webapi.ParamsError, ctx)
		}
	})
}
